A disk drive is a data storage device that stores digital data in tracks on the surface of a data storage disk. Data is read from or written to a track of the disk using a transducer, which includes a read element and a write element, that is held close to the track while the disk spins about its center at a substantially constant angular velocity. To properly locate the transducer near the desired track during a read or write operation, a closed-loop servo scheme is generally implemented. The servo scheme uses servo data read from the disk surface to align the transducer with the desired track.
Servo data is generally written to the disk using a servo track writer (STW). As is well-known to those skilled in the art, servo data from a prior-written track on the disk surface is not used by the servo track writer in connection with writing servo data for a subsequent track on the disk surface. Instead, the servo track writer uses an external relative encoder to position itself and the disk drive's transducer (through use of one of a variety of push-pin systems) relative to the disk surface in order to write servo data.
There has been a movement towards using the disk drive's transducer to write some portion or, in some cases, all of the servo data, without using an external relative encoder. In such cases, servo data from a prior-written track on the disk surface is used by the disk drive's transducer to write servo data for a subsequent track on the disk surface. For example, techniques have been developed which allow a portion of the servo information to be written through use of a servo track writer and a portion of the servo information to be self-written by the disk drive's transducers. Furthermore, in another technique, the disk drive's transducers may be used to self-write the entirety of the servo information. In a further technique, printed media may be used by the disk drive's transducers to self-write some or all of the disk drive's servo information.
In an ideal disk drive system, the tracks of the data storage disk are written as non-perturbed circles situated about the center of the disk. As such, each of these ideal tracks includes a track centerline that is located at a known constant radius from the disk center. In an actual system, however, it is difficult to write non-perturbed circular tracks to the data storage disk. That is, due to certain problems (e.g., vibration, bearing defects, etc.), tracks are generally written differently from the ideal non-perturbed circular track shape. Positioning errors created by the perturbed nature of the tracks are known as written-in repetitive runout (W_RRO), and also have been known as STW_RRO since tracks have been traditionally written by a servo track writer (STW).
The writing of non-perturbed circular tracks is especially problematic when self-servo writing or partial self-servo writing. That is, when servo data from a prior-written track on the disk surface is used by the disk drive's transducer to write servo data for a subsequent track on the disk surface, the W_RRO may be compounded from track-to-track.
In order to reduce problems associated with W_RRO, disk drive manufacturers have developed techniques to determine the W_RRO, so that compensation values (also known as embedded runout correction values or ERC values) may be generated and used to position the transducer along an ideal track centerline. Examples of techniques used to determine ERC values may be found in U.S. Pat. No. 4,412,165 to Case et al. entitled “Sampled Servo Position Control System,” U.S. Pat. No. 6,115,203 to Ho et al. entitled “Efficient Drive-Level Estimation of Written-In Servo Position Error,” and U.S. patent application Ser. No. 09/753,969 filed Jan. 2, 2001 entitled “Method and Apparatus for the Enhancement of Embedded Runout Correction in a Disk Drive,” all of which are incorporated herein by reference.
It has been determined that W_RRO is related to a position error signal due to repeatable runout (PES_RRO) by a predetermined transfer function S(z) 40, as illustrated in FIG. 1. The transfer function 40, in general, describes how the servo control system reacts to and follows the perturbed track. That is, W_RRO is the stimulus and PES_RRO is the response. As illustrated in FIG. 2, in order to determine W_RRO values using PES_RRO values, the inverse transfer function S−1(z) 50 must be determined and the PES_RRO values must be convolved therewith.
The inverse transfer function S−1(z) 500 may be determined using a variety of techniques, such as those described in U.S. Pat. No. 6,115,203 to Ho et al. entitled “Efficient Drive-Level Estimation of Written-In Servo Position Error,” and U.S. patent application Ser. No. 09/753,969 filed Jan. 2, 2001 entitled “Method and Apparatus for the Enhancement of Embedded Runout Correction in a Disk Drive.”
PES_RRO values may be determined by taking position error signal measurements while track following and averaging the position error for each servo sector associated with the track for multiple revolutions of the disk (e.g., 8 revolutions). As will be understood by those skilled in the art, the position error is averaged for multiple revolutions of the disk, so that the affects of non-repeatable runout may be averaged out.
The result of the convolution operation is the W_RRO (see FIG. 2). The W_RRO values associated with each servo sector may then be used to determine compensation values (or embedded runout correction values) for each servo sector of the track. The embedded runout correction values are then written to an embedded runout correction field included as part of the data stored in each of the servo sectors.
During normal operation of the disk drive, the transducer reads the ERC value stored in each servo sector of a desired track. The ERC value is then used to modify the position error signal associated with a servo sector to cancel the offset between the non-ideal track (i.e., the track that was written onto the disk surface) and an ideal track, so that the transducer (approximately) follows the ideal track. For example, the ERC value for a sector may be subtracted from a position error signal value read by the transducer for the sector to obtain a modified position error signal value. The modified position error signal value may then be applied in generating a control signal for operating a voice coil motor to position the transducer.
In the case of self-servo writing or partial self-servo writing, it is especially important that ideal circular tracks are followed. If ideal tracks are not followed, the perturbations from the non-ideal tracks will be compounded as the disk drive's transducer writes additional tracks. Accordingly, when self-servo writing or partial self-servo writing, embedded runout correction values for a track should be determined, so that a transducer can follow (or approximately follow) the path of an ideal track when writing a subsequent track.
There are several types of techniques for self-servo writing or partial self-servo writing. Examples of such techniques can be found in U.S. patent application Ser. No. 09/905,564 filed Jul. 13, 2001 entitled “Partial Servo Write Fill In” and U.S. patent application Ser. No. 10/293,904 filed Nov. 12, 2002 entitled “Method and Apparatus for Partial Self-Servo Writing Using Servo Wedge Propagation,” which are incorporated herein by reference in their entireties.
In one example of a partial self-servo writing technique, the STW is used to write a portion of the servo information and the disk drive's transducer is used to write the remaining servo information. More specifically, the STW is used to write complete servo information for a track or a group of tracks near the outer diameter of a disk surface. Additional tracks are written by reading the servo information from a complete track using the read element of the transducer associated with the disk surface and by writing servo information using the write element of the transducer for a track closer towards the inner diameter of the disk surface.
Reference is now made to FIG. 3, which illustrates initial portions of servo information 700 that have been written by a servo track writer near the outer diameter 54 of a disk surface 42. This servo information is used by the disk drive to write the remaining portions of the servo information onto the disk surface 42.
In order to write the remaining portions of the servo information onto the disk surface 42, the initial portions of the servo information are read and additional portions of the servo information are written adjacent to the initial portions of the servo information, so that servo information is “filled-in” towards the inner diameter 52 of the disk surface. The additional portions of the servo information are used to write further portions of the servo information that are located further towards the inner diameter of the disk surface, until the remaining portions of the servo information have been completed.
FIG. 3 also shows a magnified air-bearing surface view of a slider 710 having a writer (or write head 720) and a reader (or read head 730). The initial portions of servo information 700 are read by read head 730 and additional portions of the servo information are written by the write head 720. In order to write the additional portions of servo information towards the inner diameter 52 of the disk surface 42, the write head 720 must be offset towards the center of the disk (i.e., in the radial direction) relative to the read head, as shown in the magnified portion of FIG. 3.
Due to limitations of a disk drive's channel, it is impossible to read and write at the same time. Accordingly, groupings of the servo information may be formed. For example, circumferentially-adjacent servo information can be considered to be in differing groups. In FIG. 3, two groups of servo information are shown. For convenience sake, one group of servo information is termed 1x servo sectors 740 (shown as the smaller hash marks that extend toward the center of the disk in FIG. 3) and the other group of servo information is termed 2x servo sectors 750 (shown as the longer hash marks that extend toward the center of the disk in FIG. 3).
Portions of the 1x servo sectors 740 are read by the reader and used to write portions of the 2x servo sectors 750. Then, portions of the 2x servo sectors 750 are read by the reader and used to write portions of the 1x servo sectors 740. Reference is made to FIGS. 4–7 to illustrate this concept.
With reference to FIG. 4, initial portions of servo information 700 include repeating sets of A, B, C and D servo bursts, as is well-known in the art. The initial portions of servo information 700 are shown with a first type of cross-hatching in FIG. 4. The read head 730 is positioned over the 1x servo sectors on the left side of the figure using the 1x set of servo sectors (i.e., a servo operation is performed), so that the write head 720 may be used to write the next burst in the 2x servo sector, which is shown with a second type of cross-hatching on the left side of the figure and is an A servo burst. Generally, 1x servo sectors that are circumferentially-adjacent to 2x servo sectors (and visa-versa) are used to write the next burst.
Once the next servo burst (in the case of FIG. 4 the A servo burst) has been written to the 2x servo sector by performing a servo operation on the 1x servo sector, then a servo operation is performed on the 2x servo sector to write the next servo burst for the 1x servo sector. For example, the read head 730 is positioned over the 2x servo sector on the right side of FIG. 4 using the 2x set of servo sectors (i.e., a servo operation is performed), so that the write head 720 may be used to write the next burst in the 1x servo sector, which is shown with the second type of cross-hatching on the right side of the figure and is an A servo burst.
The manner of writing additional bursts, similar to that described in connection with FIG. 4, is shown in FIGS. 5–7. Specifically, C bursts are written in FIG. 5, while B and D bursts are written in FIGS. 6 and 7, respectively.
In order to reduce the likelihood of compounding errors, separate embedded runout correction values must be determined for the 1x servo sectors and the 2x servo sectors. Therefore, PES_RRO measurements have been obtained separately for the 1x servo sectors and the 2x servo sectors. Accordingly, for example, the PES_RRO for the 1x servo sectors is obtained by track following and averaging the position error from each of the 1x servo sectors associated with the track being corrected for multiple revolutions of the disk (e.g., 8 revolutions). Then, the PES_RRO for the 2x servo sectors is obtained by track following and averaging the position error from each of the 2x servo sectors associated with the track being corrected for multiple revolutions of the disk (e.g., 8 revolutions).
One example of determining and removing the W_RRO for 1x servo sectors and 2x servo sectors, in connection with self-servo writing or partial self-servo writing, is illustrated in the flowchart of FIG. 8. In step 805, the process of self-servo writing (i.e., track propagation) starts. In step 810, the read head seeks to a track, which eventually will be followed by the read head when the disk drive's write head writes additional servo information. In step 815, the read head servos on the 1x servo sectors associated with the track. The PES_RRO values for the 1x servo sectors for the track are obtained (step 820) by track following and averaging the position error from each of the 1x servo sectors associated with the track being corrected for multiple revolutions of the disk (e.g., 8 revolutions). Then, in step 825, the embedded runout correction values are calculated and applied for the 1x servo sectors associated with the track by convolving the PES_RRO values for the 1x servo sectors and the inverse transfer function. Then, the 1x servo sectors (which now more closely follow an ideal circular track) are used to write 2x servo bursts using the disk drive's write head (step 830).
At step 835, the read head then switches such that it begins servoing on the 2x servo sectors for the track. The PES_RRO values for the 2x servo sectors for the track are obtained (step 840) by track following and averaging the position error from each of the 2x servo sectors associated with the track being corrected for multiple revolutions of the disk (e.g., 8 revolutions). Then, in step 845, the embedded runout correction values are calculated and applied for the 2x servo sectors by convolving the PES_RRO values for the 2x sectors with the inverse transfer function. The ERC values for the 2x servo sectors are used in conjunction with the 2x servo sectors to write 1x servo bursts using the disk drive's write head (step 850). The disk drive system then moves to the next track (step 855), and repeats the process set forth in steps 810–855, until all of the tracks have been written by the propagation technique.
Obviously, because a certain number of revolutions (e.g., a total of 16 revolutions in the above example) of the disk to are required to compensate for the W_RRO associated with the 1x servo sectors and the 2x servo sectors, the propagation process can be extremely time-consuming, thereby reducing manufacturing throughput. In addition, since self-servo writing or partial self-servo writing is generally performed in test racks, increased manufacturing times require a further capital expense, in that more test racks must be purchased.
Therefore, it would be desirable to develop a less time-consuming technique for correcting the W_RRO of the 1x servo sectors and the 2x servo sectors used in self-servo writing or partial self-servo writing, so that manufacturing throughput can be increased. More specifically, it would be beneficial to provide a technique for compensating for the W_RRO that requires less revolutions than the prior technique.